テスト 種類
#テスト
単体テスト
最小単位のテスト。コード内の関数・クラスそれぞれ1つに対して、1つのテストコードを用意する。
結合テスト
依存関係を持つ関数・クラスをモックなどを利用せずにテストする。
システムテスト
ハードウェア、OS、ミドルウェアなど全てを含むシステム全体の動作テストを行う。
性能テスト
システムの性能・実行時間などを測る。
回帰テスト
機能追加・バグ修正などがあった際に、既存の機能が壊れてないかをテストする。
受入テスト
顧客がソフトウェアに満足してるかどうかを確認する。実際に触らせて、要求通りになってるか見てもらう。
memo.icon
基本的に、最初は単体テストがあれば良いと思うonigiri.w2.icon
その後、システムが大きくなっていく毎に、自動回帰の仕組み・性能テストの仕組みなんかを入れていけば良いかと。
結合テスト・システムテストは、どのタイミングで入れるのが良いかは不明。
結合テストの目的は、「モジュール間の連携がうまくいくかどうか」をチェックすることらしい。
それってさ、単体テストでカバーできるんじゃね?必要かな?
うまく単体テストを書いてれば、最悪必要ないよな。
まあでも「不安やからやっとくか」ってなる気持ちはわかる。
それでバグが見つかることもあるやろし。
そもそも、単体テストをちゃんと書けてない可能性もあるし。
てなると、全体で一応テストしとこかってなるのはわかる。
ただ、結合テストを行うのは、デプロイの度ってよりは、節目節目でやれば良いと思う。
とにかく、機能追加時に単体テストを徹底することが大事。
テストの頻度
単体テスト:
デプロイと同頻度でやる
「回帰テスト」では単体テストのみ対象
性能テスト・結合テスト・システムテスト:
節目節目でやる
ex)システムを0から作ってリリースする時、1年後の大型リリース時など...
そもそも大型リリースとかするなって話だが
小さくリリース